共用体变量定义为"union data{char ch;int x;}a;",下列错误的是

来源:百度知道 编辑:UC知道 时间:2024/07/04 18:02:02
A.a={'x',10};
B.a.x=10;a.x++;
C.a.ch='x';a.ch++;
D.a.x=10;a.ch='x';
便解释错误的原因

A错误,因为ch和x共用一个内存空间,所以叫做共用体。

但是它有多大呢? 在某些系统int是4个字节的,char是1个字节。
所以a就是最大的那个,也就是4个字节,这样的话既可以装下int类型的x,也可以装下ch。

找工作的时候,考这个喔,呵呵。

第一个是错的,没有那种用法.
其他的都是对的.

A错。union维护足够的空间来置放多个成员中的“一种”,而不是为每一个成员配置空间。